#pragma once
#include<iostream>
#include<vector>
#include<list>
using namespace std;
//namespace bit
//{
// 
//	template<class T ,class container>
//	class stack
//	{
//	public:
//		void push(const T& x)
//		{
//			_con.push_back(x);
//		}
//		void pop()
//		{
//			_con.pop_back();
//		}
//		T& top()
//		{
//			return _con.back();
//		}
//		size_t size()
//		{
//			return _con.size();
//
//		}
//
//		bool empty()
//		{
//			return _con.empty();
//		}
//	private:
//			container _con;
//	};
//	void test_stack()
//	{
//		stack<int, std::vector<int>>st1;
//		stack<int, std::list<int>>st2;
//		st1.push(1);
//		st1.push(2);
//		st1.push(3);
//		st1.push(4);
//
//		st2.push(1);
//		st2.push(2);
//		st2.push(3);
//		st2.push(4);
//
//		st2.pop();
//		st2.pop();
//
//
//	}
//}

namespace yansir
{
	template<class T,class continer>
	class stack
	{
	public:
		void push()
		{
			_con.push_back();
		}
		void pop()
		{
			_con.pop_back();
		}
		void empty()
		{
			return _con.empty();
		}
		T& top()
		{
			return _con.back();
		}
		size_t size()
		{
			return _con.size();
		}
	private:
		continer _con;
	};
}